//
//  UIViewAdditions.h
//  MTFramework
//
//  Created by 李 帅 on 12-2-15.
//  Copyright (c) 2012年 __MyCompanyName__. All rights reserved.
//

#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>

@interface UIView (Geometry)

/**
 * view.top
 */
@property (nonatomic, assign) CGFloat top;

/**
 * view.bottom
 */
@property (nonatomic, assign) CGFloat bottom;

/**
 * view.left
 */
@property (nonatomic, assign) CGFloat left;

/**
 * view.right
 */
@property (nonatomic, assign) CGFloat right;

/**
 * view.X属性  可获取X坐标  可设置X坐标
 */
@property (nonatomic, assign) CGFloat xPosition;

/**
 * view.Y属性  可获取Y坐标  可设置Y坐标
 */
@property (nonatomic, assign) CGFloat yPosition;

/**
 * view.宽度属性  可获取width  可设置width
 */
@property (nonatomic, assign) CGFloat width;

/**
 * view.高度属性  可获取height  可设置height
 */
@property (nonatomic, assign) CGFloat height;

/**
 * view.center.x属性 可获取centerX  可设置centerX
 */
@property (nonatomic, assign) CGFloat centerX;

/**
 * view.center.y属性 可获取centerY  可设置centerY
 */
@property (nonatomic, assign) CGFloat centerY;

/**
 * view.size属性 可获取size  可设置size
 */
@property (nonatomic, assign) CGSize size;

/**
 * view.origin属性 可获取origin  可设置origin
 */
@property (nonatomic, assign) CGPoint origin;


- (void)bringToFront;

- (void)sendToBack;


@end



@interface UIView (ViewHiarachy)

/**
 * 获取当前view最近的uiviewcontroller。
 */
@property (nonatomic, readonly) UIViewController *viewController;
/**
 * 移除所有子视图。
 */
- (void)removeAllSubviews;

@end



@interface UIView (Gesture)

/**
 * 在当前视图上添加点击事件。
 */

// TODO DINGLi Deprecated
- (void)addTapAction:(SEL)tapAction target:(id)target;

@end

@interface UIView (firstResponder)

- (UIView *)findViewThatIsFirstResponder;
- (NSArray *)descendantViews;

@end

@interface UIView (autoLayout)

- (void)testAmbiguity;

@end

@interface UIView (DDFramework)
- (void)cutCorners;
- (void)cutCornersWithRadius:(CGFloat)radius;
@end

@interface UIView (EventLink)

//为UIView扩展一个方法，用于响应事件链
-(UIViewController *)viewController;

//为UIView扩展一个方法，用于响应事件链  查找tabbar
-(UIViewController *)tabBarRootController;

//为UIView扩展一个方法，用于响应事件链  查找UINavigationController
-(UINavigationController *)rootNavgationController;

@end
